home *** CD-ROM | disk | FTP | other *** search
/ Underground / Underground CD1.iso / other / how-to.pl / ApplePrint.pl.txt < prev    next >
Encoding:
Text File  |  1997-11-25  |  31.6 KB  |  991 lines

  1.   Jak ustawiµ drukarkΩ u┐ywaj▒c▒ AppleTalk
  2.   Autor: Werner Eugster, eugster@giub.unibe.ch
  3.   Wersja polska: Bartosz Maruszewski
  4.   B.Maruszewski@zsmeie.torun.pl
  5.   v1.01, 26 Lipca 1997
  6.  
  7.  
  8.   Jako u┐ytkownik Linux-a chcesz mieµ dostΩp do drukarek Mac-a takich
  9.   jak LaserWriter siedz▒cych na sieci z kontrolerem EtherTalk. Jako
  10.   u┐ytkownik Mac-a chcesz mieµ dostΩp do wszystkich drukarek na Linux-
  11.   ie. Aby ustawiµ taki serwis na Linux-ie musisz postΩpowaµ wed│ug tej
  12.   samej procedury w obu przypadkach.  Po skompilowaniu i zainstalowaniu
  13.   oprogramowania AppleTalk netatalk (je╢li tego nie zrobi│e╢, to
  14.   przeczytaj najpierw PodrΩcznik instalacji atalk <http://thehamp¡
  15.   tons.com/anders/netatalk> napisany przez Andersa Brownwortha) pewnie
  16.   ju┐ uruchomi│e╢ wszystkie demony poprzez rc.atalk w swoim katalogu
  17.   /etc. Ale najpierw upewnij siΩ, ┐e serwis AppleTalk rzeczywi╢cie
  18.   dzia│a zanim zaczniesz konfigurowaµ drukarki.  Ja u┐ywam netatalk w
  19.   wersji 1.3.3 z │atami opisanymi w Przewodniku instalacyjnym Andersa
  20.   Brownwortha. Powiedziano mi, ┐e ╢cie┐ka do filtr≤w netatalk zmieni│a
  21.   siΩ w nowszych wersjach.
  22.  
  23.   1.  Moja strefa AppleTalk.
  24.  
  25.  
  26.   Napisz /usr/local/atalk/bin/getzones, aby sprawdziµ czy wszystkie
  27.   strefy AppleTalk s▒ widziane przez Linux-a. Powiniene╢ widzieµ
  28.   przynajmniej jedn▒ nazwΩ, kt≤ra jest twoj▒ stref▒ lokaln▒, w innym
  29.   przypadku bardzo prawdopodobne jest, ┐e tw≤j serwis AppleTalk nie
  30.   dzia│a poprawnie. Ja dostajΩ co╢ takiego (tylko kilka pierwszych
  31.   linii):
  32.  
  33.  
  34.           Pingo$ /usr/local/atalk/bin/getzones | more
  35.           VLSB
  36.           LSB-Integrative Biology
  37.           LSB-Biology Library
  38.           LSB-Herbaria
  39.           LSB-UCMP
  40.           LSB-MVZ
  41.           Vanishing Packets
  42.           MIP
  43.           Barker Hall
  44.  
  45.  
  46.  
  47.   Przy pomocy opcji dowiesz siΩ kt≤ra jest twoj▒ stref▒:
  48.  
  49.  
  50.           Pingo$ /usr/local/atalk/bin/getzones -m
  51.           VLSB
  52.           Pingo$
  53.  
  54.  
  55.  
  56.   Tak wiΩc moj▒ stref▒ lokaln▒ jest VLSB, kompletn▒ listΩ wszystkich
  57.   lokalnych stref mo┐na uzyskaµ przy pomocy opcji -l (w razie gdy twoja
  58.   drukarka nie jest w twojej strefie musisz znaµ dok│adn▒ nazwΩ strefy).
  59.  
  60.  
  61.   2.  Dowiedz siΩ jaka jest nazwa drukarki.
  62.  
  63.  
  64.   Je╢li chcesz tylko, aby lokalna drukarka UNIX-owa by│a dostΩpna dla
  65.   klient≤w AppleShare, to przeskocz tΩ sekcjΩ i id╝ do ``sekcji nr 3''.
  66.  
  67.   Najpierw musimy siΩ dowiedzieµ jak s▒ zdefiniowane nazwy Internetowe w
  68.   AppleTalk. Jest to bardzo podobne do tego co znasz ze swojego Linux-a.
  69.   Nazwy wystΩpuj▒ w formie: objekt:typ@strefa. Je╢li nie zale┐y ci na
  70.   nazwie strefy lokalnej to u┐yj @*.
  71.  
  72.   Tak wiΩc, aby znale╝µ wszystkie objekty w twojej strefie, napisz
  73.   /usr/local/atalk/bin/nbplkup, co wypluje wielk▒ listΩ, z elementami
  74.   jak ten:
  75.  
  76.  
  77.   Pingo$ /usr/local/atalk/bin/nbplkup |more
  78.            Sun ValleyUs Macintosh:Macintosh IIsi           12398.245:253
  79.            Sun ValleyUs Macintosh:Workstation              12398.245:4
  80.          IB Instructional Support:  Power Macintosh        12398.196:253
  81.          IB Instructional Support:Workstation              12398.196:4
  82.                     centris 660AV:  Macintosh              12398.51:253
  83.                     centris 660AV:Workstation              12398.51:4
  84.              Chapin Lab vx - JoeC:Macintosh IIvx           12398.101:253
  85.              Chapin Lab vx - JoeC:Workstation              12398.101:4
  86.                 Pingo Mac Printer:LaserWriter              12398.164:129
  87.             Pingo Default Printer:LaserWriter              12398.164:128
  88.                             Pingo:AFPServer                12398.164:130
  89.                             Pingo:netatalk                 12398.164:4
  90.                             Pingo:Workstation              12398.164:4
  91.                         Lucicutia:AFPServer                12398.123:248
  92.              Theobald Chapin, III:LaserWriter              12398.73:191
  93.  
  94.  
  95.  
  96.   Je╢li chcesz znaµ tylko objekty konkretnego typu jak LaserWriter,
  97.   musisz u┐yµ /usr/local/atalk/bin/nbplkup :LaserWriter. Upewnij siΩ, ┐e
  98.   wstawi│e╢ dwukropek, kt≤ry oznacza, ┐e chcesz znaµ tylko objekty typu
  99.   LaserWriter. S│owo nie mo┐e zawieraµ du┐ych liter, ale nie mo┐esz
  100.   omin▒µ spacji. Tak wiΩc, ┐eby zobaczyµ Macintosh IIvx musisz wstawiµ
  101.   nazwΩ typu w cudzys│owia:
  102.  
  103.  
  104.   Pingo$ /usr/local/atalk/bin/nbplkup  :"Macintosh IIvx"
  105.              Chapin Lab vx - JoeC:Macintosh IIvx           12398.101:253
  106.   Pingo$
  107.  
  108.  
  109.  
  110.   Dobra. Kr≤tko: ChcΩ m≤c drukowaµ z mojego Linux-a na LaserWriter o
  111.   nazwie Theobald Chapin, III. Zanim spr≤bujesz ustawiµ printcap dla
  112.   kolejki tej drukarki, upewnij siΩ czy masz dostΩp do tej drukarki.
  113.  
  114.   Napisz /usr/local/atalk/bin/papstatus -p "Theobald Chapin, III"
  115.   (zauwa┐, ┐e cudzys│owia s│u┐▒ tylko temu, aby poinformowaµ twoj▒
  116.   pow│okΩ, i┐ Theobald Chaplin, III to jeden argument a nie trzy) i
  117.   powiniene╢ otrzymaµ co╢ takiego:
  118.  
  119.  
  120.   status: idle
  121.  
  122.  
  123.  
  124.   Je╢li nie, to sprawd╝ czy AppleTalk rzeczywi╢cie dzia│a (mo┐e demon
  125.   nie jest uruchomiony ? Sprawd╝ tak: ps -xa | grep atalkd i ps -xa |
  126.   grep afpd).
  127.  
  128.   Poniewa┐ LaserWriter spodziewa siΩ PostScriptu, powiniene╢ mieµ pod
  129.   rΩk▒ kr≤tki plik testowy w PostScripcie. Nazwa mojego pliku to:
  130.   test.eps i mogΩ go wys│aµ bezpo╢rednio do Theobald Chaplin, III
  131.   uruchamiaj▒c klienta drukowania AppleShare:
  132.  
  133.   /usr/local/atalk/bin/pap -p "Theobald Chapin, III":LaserWriter@VLSB test.eps
  134.  
  135.  
  136.  
  137.   Zauwa┐, ┐e do│aczy│em nazwΩ strefy tylko po to, ┐eby siΩ upewniµ, ┐e
  138.   wszystko dzia│a dobrze. Je╢li twoje zadanie drukowania siΩ pojawi (co
  139.   sekundΩ - czy jako╢ tak - otrzymasz komunikat je╢li kto╢ inny u┐ywa
  140.   drukarki w tym samym momencie. Obserwuj odpowied╝ twojej drukarki i co
  141.   robi kiedy zacznie drukowaµ tw≤j plik).
  142.  
  143.   Je╢li bΩdziesz mia│ jakie╢ k│opoty, u┐yj aecho, aby sprawdziµ objekty
  144.   AppleTalk w ten sam spos≤b jakby╢ u┐ywa│ ping-a przez TCP/IP (Ctrl-C
  145.   zatrzymuje aecho):
  146.  
  147.  
  148.   /usr/local/atalk/bin/aecho "Theobald Chapin, III":LaserWriter@VLSB
  149.   14 bytes from 12398.73: aep_seq=0. time=15. ms
  150.   14 bytes from 12398.73: aep_seq=1. time=14. ms
  151.   14 bytes from 12398.73: aep_seq=2. time=14. ms
  152.   14 bytes from 12398.73: aep_seq=3. time=14. ms
  153.  
  154.   ----12398.73 AEP Statistics----
  155.   5 packets sent, 4 packets received, 20% packet loss
  156.   round-trip (ms)  min/avg/max = 14/14/15
  157.   Pingo$
  158.  
  159.  
  160.  
  161.   Powiniene╢ straciµ tylko ostatni pakiet przy przerwaniu Ctrl-C, w
  162.   innym wypadku co╢ jest nie talk z twoim po│▒czeniem.
  163.  
  164.  
  165.   3.  Ustawianie serwisu drukowania na Linux-ie.
  166.  
  167.  
  168.   BΩd▒ dwa kroki. Najpierw upewnisz siΩ, ┐e mo┐esz drukowaµ na Linux-ie
  169.   potem upewnisz siΩ, ┐e ta drukarka jest dostΩpna dla klient≤w
  170.   AppleShare.
  171.  
  172.   M≤wi▒c ja╢niej: najpierw ustawisz swoj▒ drukarkΩ, ┐eby by│a dostΩpna
  173.   dla UNIX-a (lpd - demona drukowania) (sekcja 3.1 do 3.2), a potem
  174.   udostΩpnisz j▒ innym u┐ytkownikom w strefie AppleTalk (sekcja 3.3) co
  175.   jest oczywi╢cie opcjonalne.
  176.  
  177.   Wielu ludzi nie lubi ustawiania z dw≤ch powod≤w:
  178.   drukarka AppleTalk jest ju┐ dostepna w strefie AppleTalk, to
  179.   u┐ytkownicy Mac-≤w mog▒ siΩ do niej bezpo╢rednio do│▒czyµ. WiΩc nie ma
  180.   potrzeby istnienia kolejki na Linux-ie. Jednak ja jestem u┐ytkownikiem
  181.   Linux-a i chcΩ mieµ dostΩp do tej drukarki i dlatego m≤j poni┐szy opis
  182.   robi dok│adnie to: pozwala u┐ytkownikowi Linux-a na drukowanie na
  183.   drukarce AplleTalk.
  184.   jest drukark▒ lokaln▒ pod│▒czon▒ do r≤wnoleg│ego portu Linux-a (np.
  185.   /dev/lp1), to jest kilka zmian w pliku /etc/printcap. Ja poka┐Ω
  186.   przyk│ad ustawienia z drukark▒ lokaln▒, kt≤rego nie testowa│em, ale
  187.   dosta│em od innego u┐ytkownika. Przeczytaj ``sekcjΩ 3.4'' na ten temat
  188.   i sprawd╝ szczeg≤│owe informacje na temat u┐ywania Ghostscript-u razem
  189.   z Netatalk <http://artoo.hitchcock.org/~flowerpt/projects/linux-
  190.   netatalk/ghostscript.html> napisane przez Mike'a Pearsona i Billa
  191.   McGonigle'a.
  192.  
  193.  
  194.   3.1.  Konfiguracja twojego /etc/printcap.
  195.  
  196.  
  197.   Je╢li twoja drukarka mo┐e ju┐ drukowaµ przy pomocy polecenia
  198.  
  199.   Pingo$ lpr -P lp test.eps
  200.  
  201.  
  202.  
  203.   to mo┐esz przeskoczyµ ten pierwszy krok.
  204.  
  205.   W innym przypadku sta± siΩ "root-em" i id╝ do katalogu /etc, ┐eby
  206.   wyedytowaµ plik printcap. Szczeg≤│y znajdziesz na stronie podrΩcznika
  207.   systemowego "man". Ja opiszΩ tylko jak ustawiµ LaseWriter, tak ┐eby
  208.   dzia│a│ z poleceniem lpr z Linux-a.
  209.  
  210.   Dodaj pozycjΩ dla swojej drukarki do pliku printcap. Ja mam
  211.   zdefiniowan▒ tylko LaserWriter i m≤j plik wygl▒da tak:
  212.  
  213.  
  214.   lp|Pingo LaserWriter|Theobald Chapin, III:\
  215.           :sd=/usr/spool/theobald:\
  216.           :lp=/dev/null:\
  217.           :pl#63:pw#85:\
  218.           :mx#0:\
  219.           :sh:sf:\
  220.           :lf=/usr/adm/lpd-errs:\
  221.           :if=/usr/local/bin/myif:\
  222.           :of=/usr/local/atalk/etc/ofpap:
  223.  
  224.  
  225.  
  226.  
  227.   3.1.1.  nazwa drukarki dla u┐ytkownik≤w Linux-a
  228.  
  229.  
  230.   Pierwsza linia definiuje trzy logiczne nazwy, kt≤re nie musz▒ mieµ
  231.   ┐adnego podobie±stwa do nazw, jakie chcesz nadaµ tej drukarce w
  232.   kliencie AppleShare. Dlatego nazwa│em j▒ lp, poniewa┐ jest to nazwa
  233.   stosowana w wiΩkszo╢ci UNIX-≤w. Inne nazwy stosujΩ tylko po to, ┐eby
  234.   wiedzieµ co to w│a╢ciwie za drukarka.
  235.  
  236.  
  237.   3.1.2.  katalog zada±
  238.  
  239.  
  240.   Potem musisz mieµ katalog zada±, gdzie demon bΩdzie sk│adowa│ zadania.
  241.   Ja nazwa│em sw≤j katalog zada± /usr/spool/theobald w tej samej
  242.   hierarchii co katalog poczty.
  243.  
  244.  
  245.   Pingo$ ls -l
  246.   drwxrwxr-x   2 root     mail         1024 Feb  8 08:46 mail
  247.   drwxr-xr-x   2 root     mail         2048 Feb  8 17:23 mqueue
  248.   drwxrwxr-x   5 news     news         1024 Sep  1  1994 news
  249.   drwxrwxr-x   2 root     lp           1024 Feb  9 13:15 theobald
  250.  
  251.  
  252.  
  253.   Stw≤rz go u┐ywaj▒c mkdir a potem ustaw w│a╢ciciela (root), grupΩ (lp)
  254.  
  255.  
  256.   Pingo$ chown root.lp theobald
  257.  
  258.  
  259.  
  260.   i prawa dostΩpu
  261.  
  262.  
  263.   Pingo$ chmod 775 theobald
  264.  
  265.   Potem stworzy│em dwa pliki: lock i status w tym katalogu:
  266.  
  267.  
  268.   Pingo$ cd theobald
  269.   Pingo$ touch lock; chown root.root lock; chmod 004 lock
  270.   Pingo$ touch status; chown root.root status; chmod 664 status
  271.  
  272.  
  273.  
  274.   teraz mo┐esz zdefiniowaµ ten katalog jako katalog zada± jak ja to
  275.   zrobi│em w linii 2.
  276.  
  277.  
  278.   3.1.3.  urz▒dzenie drukarki
  279.  
  280.  
  281.   Je╢li twoja drukarka jest lokaln▒ drukark▒ do│▒czon▒ do urz▒dzenia
  282.   takiego jak/dev/lp1, to to jest urz▒dzenie, kt≤rego potrzebujesz.
  283.   U┐yjesz mknod, aby utworzyµ to urz▒dzenie je╢li go jeszcze nie ma. Dla
  284.   drukarki w AppleTalk nie chcesz w│a╢ciwie drukowaµ do ┐adnego
  285.   urz▒dzenia, ale wys│aµ zadanie do tej drukarki u┐ywaj▒c programu pap z
  286.   katalogu /usr/local/atalk/bin. Zrobi siΩ to przy pomocy filtra psf,
  287.   kt≤ry uruchomi program pap, aby mieµ dostΩp do drukarki. Dlatego, po
  288.   tym jak zadanie zosta│o wys│ane do LaserWriter, jest ono ci▒gle w
  289.   Linux-ie, poniewa┐ demon drukowania lpd ma na samym ko±cu wys│aµ to
  290.   zadania na urz▒dzenie. Dlatego zdefiniujemy urz▒dzenie /dev/null jako
  291.   urz▒dzenie drukarki, kt≤re wy╢le twoje zadanie w pr≤┐niΩ (bo chcesz
  292.   mieµ tylko to co siΩ pojawi│o na drukarce AppleTalk, prawda?). Dlatego
  293.   w trzeciej linii wpiszemy :lp=/dev/null:\. Przeczytaj stronΩ
  294.   podrΩcznika systemowego na temat psf, je╢li masz wiΩcej ni┐ jedn▒
  295.   drukarkΩ AppleTalk i je╢li masz problemy z u┐ywaniem urz▒dzenia
  296.   /dev/null jako urz▒dzenia drukarki.
  297.  
  298.  
  299.   3.1.4.  rozmiar strony, maksymalny rozmiar pliku i nag│≤wek
  300.  
  301.  
  302.   U┐yj p≤l pl i pw dla okre╢lenia d│ugo╢ci strony (linie) i szeroko╢ci
  303.   (znaki). Polem mx mo┐esz zdefiniowaµ maksymalny rozmiar pliku
  304.   drukowanego. Je╢li plik jest wiΩkszy, demon drukarki obetnie go, albo
  305.   odm≤wi drukowania. Je╢li ustawisz tΩ warto╢µ na 0 (mx#0), oznacza to,
  306.   i┐ mo┐na drukowaµ pliki o nieograniczonych rozmiarach. Uwa┐aj, bo
  307.   przypadkowo papier mo┐e siΩ sko±czyµ je╢li nikt siΩ nie bΩdzie o to
  308.   troszczyµ. A twoja g│odna drukarka bΩdzie wo│aµ o papier ! Tak wiΩc
  309.   radzΩ nie ustawiaµ pola mx na 0 je╢li sko±czy│e╢ ju┐ testowaµ i
  310.   wszystko jest w porz▒dku.
  311.  
  312.   Polem sh mo┐emy zabroniµ drukowania strony pocz▒tkowej (z
  313.   identyfikatorem w│a╢ciciela itp.)
  314.  
  315.   Polem sf mo┐emy zabroniµ drukowania feed forms.
  316.  
  317.  
  318.   3.1.5.  zapisywanie b│Ωd≤w
  319.  
  320.  
  321.   Ja zdefiniowa│em do tego celu plik /usr/adm/lpd-errs. BΩdziesz musia│
  322.   stworzyµ ten plik samemu (np. poleceniem touch /usr/adm/lpd-errs)
  323.  
  324.  
  325.   3.1.6.  filtry
  326.  
  327.  
  328.   To jest wa┐ne ! Jak ju┐ to opisa│em, twoje zadanie zostanie wys│ane do
  329.   drukarki AppleTalk tylko je╢li zainstalujesz odpowiedni filtr, kt≤ry
  330.   uruchomi program, pap. Pakiet netatalk u┐ywa konceptu hackerskiego,
  331.   u┐ywaj▒c filtru psf, ale z r≤┐nymi do│▒czeniami do niego. psf
  332.   analizuje nazwΩ tego do│▒czenia, aby dowiedzieµ siΩ, czy ma uruchomiµ
  333.   pap je╢li pod│a±cuch jest w nazwie do│▒czenia, i odwr≤ciµ kolejno╢µ
  334.   drukowania je╢li w nazwie jest rev. Sp≤jrz na to wydaj▒c polecenie:
  335.  
  336.  
  337.   Pingo$ ls -l /usr/local/atalk/etc
  338.   lrwxrwxrwx   1 root     root            3 Feb  8 14:44 ifpap -> psf
  339.   lrwxrwxrwx   1 root     root            3 Feb  8 14:44 ifpaprev -> psf
  340.   lrwxrwxrwx   1 root     root            3 Feb  8 14:44 ofpap -> psf
  341.   -rwxr-xr-x   1 root     root        49299 Feb  8 14:44 papd
  342.   -rw-r--r--   1 root     root           35 Feb  9 13:48 papd.conf
  343.   -rwxr-xr-x   1 root     root        11395 Feb  8 14:44 psf
  344.   lrwxrwxrwx   1 root     root            3 Feb  8 14:44 tfpap -> psf
  345.   lrwxrwxrwx   1 root     root            3 Feb  8 14:44 tfpaprev -> psf
  346.   Pingo$
  347.  
  348.  
  349.  
  350.   Tak wiΩc filtr o nazwie ifpap uruchomi pap, ifpaprev odwr≤ci kolejno╢µ
  351.   stron i uruchomi pap. Zamienia on zwyk│y tekst na PostScript, tak
  352.   ┐eby╢ nie sko±czy│ na komunikacie z b│Ωdem.
  353.  
  354.   Jedyny filtr jaki musisz zainstalowaµ to of:
  355.  
  356.  
  357.           :of=/usr/local/atalk/etc/ofpap:
  358.  
  359.  
  360.  
  361.   gdzie /usr/local/bin/myif jest prostym skryptem pow│oki, kt≤ry pozwala
  362.   mi na przerywanie linii w tek╢cie, kt≤re zosta│y zapisane programem,
  363.   kt≤ry automatycznie │amie linie (bp. textedit). Niestety filtr psf nie
  364.   robi nic takiego i ignoruje ustawienia szeroko╢ci papieru. Ja
  365.   napisa│em sw≤j w│asny filtr linebreak.c
  366.   <http://www.giub.unibe.ch/~eugster/linebreak.c>, kt≤ry robi to dla
  367.   mnie i umie╢µ nastΩpuj▒ce linie w "myif":
  368.  
  369.  
  370.   #!/bin/sh
  371.   /usr/local/bin/linebreak $* | /usr/local/atalk/etc/ifpap $*
  372.  
  373.  
  374.  
  375.   Je╢li w ten spos≤b ustawisz filtr tekstowy, to linbreak bΩdzie uwa┐a│
  376.   tylko na szeroko╢µ strony (ustawion▒ pw), podczas gdy ifpap (psf)
  377.   sprawdza tylko d│ugo╢µ. Wygl▒da na to, ┐e psf zak│ada, ┐e pierwsza
  378.   linia to 0, tak wiΩc ustaw pl#63 je╢li chcesz mieµ 64 linii na
  379.   stronie.
  380.  
  381.   Je╢li nie chcesz │amania linii, to po prostu umie╢µ liniΩ:
  382.  
  383.  
  384.           :if=/usr/local/atalk/etc/ifpap:\
  385.  
  386.  
  387.  
  388.   Teraz zapisz sw≤j nowy printcap. Je╢li spr≤bujesz teraz co╢
  389.   wydrukowaµ, dowiesz siΩ, ┐e jeszcze nie dzia│a, wiΩc czytaj nastΩpny
  390.   paragraf.
  391.  
  392.   Jak wspomnia│em wcze╢niej, UNIX-owa nazwa drukarki w printcapie nie ma
  393.   odpowiednika dla nazwy drukarki w AppleTalk. Musisz stworzyµ plik
  394.   .paprc w swoim katalogu zada±, kt≤ry bΩdzie zawiera│ adres drukarki w
  395.   AppleTalk. Jest to tylko jedna linia. Zauwa┐, ┐e nie musia│em
  396.   umieszczaµ nazwy drukarki w cudzys│owia w tym pliku, ale inni pisz▒
  397.   mi, ┐e u nich to dzia│a│o tylko z cydzys│owami. To spr≤buj najpierw
  398.   bez cydzys│ow≤w:
  399.  
  400.  
  401.   Pingo$ cat /usr/spool/theobald/.paprc
  402.   Theobald Chapin, III:LaserWriter@VLSB
  403.  
  404.  
  405.  
  406.   To teraz mo┐esz zaczynaµ.
  407.  
  408.   Je╢li dostaniesz komunikat o b│Ωdzie jak np. "Turing:LaserWriter@Tech
  409.   Support": NBP wtedy spr≤buj z cudzys│owami. Mo┐e byµ te┐ tak, ┐e
  410.   musisz wstawiµ tylko nazwe przed dwukropkiem w cudzys│owa, tak:
  411.   "Theobald Chapin, III":LaserWriter@VLSB. Je╢li masz jeszcze jakie╢
  412.   problemy, to my╢l i kombinuj ;) NIe znam ┐adnego uniwersalnego sposobu
  413.   na rozwi▒zanie tego problemu.
  414.  
  415.   WiΩcej na temat hackowania i r≤┐nych obej╢µ z filtrami znajdziesz w
  416.   sekcji ``Znane problemy''.
  417.  
  418.  
  419.   3.2.  Przetestuj drukarkΩ.
  420.  
  421.  
  422.   Najpierw sprawd╝ czy demon drukarki jest rzeczywi╢cie uruchomiony:
  423.  
  424.  
  425.   Pingo$ ps -xa | grep lpd
  426.      45  ?  SW    0:00 (lpd)
  427.     346 pp0 D     0:00 grep lpd
  428.   Pingo$
  429.  
  430.  
  431.  
  432.   Spr≤buj wydrukowaµ plik w PostScripcie i plik tekstowy, ┐eby siΩ
  433.   przekonaµ, ┐e wszystko dzia│a. Przypuszczalnie musisz zrestartowaµ
  434.   demona poleceniem lpc. Uruchom lpc i napisz restart lp, down lp i up
  435.   lp. Potem sprawd╝ status:
  436.  
  437.  
  438.   lpc> status
  439.   lp:
  440.           queuing is enabled
  441.           printing is enabled
  442.           no entries
  443.           no daemon present
  444.   lpc>
  445.   lpc> quit
  446.  
  447.  
  448.  
  449.   Teraz wydrukuj sw≤j plik poleceniem
  450.  
  451.  
  452.   Pingo$ lpr -P lp filename
  453.  
  454.  
  455.  
  456.   Je╢li wszystko jest w porz▒dku, to plik status w katalogu zada±
  457.   powienien teraz zawieraµ naj╢wie┐sze informacje na temat twojej
  458.   drukarki:
  459.  
  460.  
  461.  
  462.  
  463.   Pingo$ cat /usr/spool/theobald/status
  464.   job: Paul; status: busy; source: LocalTalk
  465.   Pingo$
  466.  
  467.  
  468.  
  469.  
  470.   3.3.  Skojarz tΩ drukarkΩ z jak▒╢ nazw▒ dla AppleTalk.
  471.  
  472.  
  473.   Je╢li teraz p≤jdziesz do Mac-a i spr≤bujesz wybrac swoj▒ now▒ drukarkΩ
  474.   dowiesz siΩ, ┐e poka┐e siΩ ona z nazw▒ twojego serwera Linux-owego. To
  475.   mo┐e nie byµ zbyt zadowalaj▒ce, dlatego musisz stworzyµ, albo
  476.   wyedytowaµ plik papd.conf w katalogu etc AppleTalk,
  477.   /usr/local/atalk/etc/papd.conf (przeczytaj "man papd" je╢li chcesz
  478.   znaµ wiΩcej szczeg≤│≤w). Minimum tego co musisz zrobiµ to umieszczenie
  479.   w tym pliku nazwy jak▒ chcesz nadaµ drukarce, a na ko±cu dopisz :\ tak
  480.   jak w printcap-ie. W drugiej linii podajesz nazwΩ jak▒ ta drukarka ma
  481.   w Linux-ie opcj▒ pr. M≤j plik wygl▒da tak:
  482.  
  483.  
  484.   Pingo$ cat /usr/local/atalk/etc/papd.conf
  485.   Pingo Mac LaserWriter:\
  486.           :pr=lp:
  487.   Pingo$
  488.  
  489.  
  490.  
  491.   Oznacza to, ┐e (domy╢lna) zmienna lp zawiera nazwΩ: Pingo Mac
  492.   LaserWriter dla klienta AppleShare. Dowiesz siΩ r≤wnie┐, ┐e teraz
  493.   u┐ytkownik na Mac-u mo┐e drukowaµ bezpo╢rednio na drukarce Theobald
  494.   Chaplin III jak i poprzez Linux-a, gdzie nazwa drukarki to Pingo Mac
  495.   LaserWriter. Dla mnie jest wa┐ne, aby m≤c drukowaµ bezpo╢renio na tej
  496.   drukarce, a podczas pracy na Mac-u drukowanie poprzez Linux-a wydaje
  497.   siΩ o wiele szybsze, poniewa┐ Linux zkolejkuje zadanie i zniknie ono
  498.   natychmiast z mojego desktopu.
  499.  
  500.   Je╢li chcesz zarejestrowaµ swoj▒ drukarkΩ w jakiej╢ strefie AppleTalk
  501.   (nie w domy╢lnej strefie), po prostu podajesz tΩ strefΩ wraz z
  502.   rozszerzeniem @nazwa_strefy w pliku papd.conf:
  503.  
  504.  
  505.   MotorsLab@EEAP:\
  506.           :pr=ee3rd:
  507.  
  508.  
  509.  
  510.  
  511.   3.4.  Jaka jest r≤┐nica miΩdzy lokaln▒ drukark▒ pod│▒czon▒ do komput¡
  512.   era Linux-owego?
  513.  
  514.  
  515.   Ta sekcja nie jest jeszcze ca│kiem gotowa !!!
  516.  
  517.  
  518.   /etc/princap:
  519.   lp:lp=/dev/lp1:sd=/usr/spool/lp1:sh
  520.  
  521.   /usr/local/atalk/etc/papd.conf:
  522.   HP LJIIIp:\
  523.           :pr=lp:\
  524.           :pd=/usr/local/atalk/etc/HP_LaserJet_IIIP.ppd:
  525.  
  526.  
  527.  
  528.  
  529.   Sprawd╝ szczeg≤│y na stronie U┐ywanie ghostscript-a wraz z Netatalk
  530.   <http://artoo.hitchcock.org/~flowerpt/projects/linux-
  531.   netatalk/ghostscript.html>.
  532.  
  533.  
  534.   4.  Rozwi▒zywanie problem≤w.
  535.  
  536.  
  537.  
  538.   4.1.  Og≤lna strategia.
  539.  
  540.  
  541.   Je╢li masz jakie╢ problemy podczas drukowania, nawet je╢li dzia│a│o
  542.   kiedy wszystko ustawia│e╢ tak jak opisa│em, to sp≤jrz do
  543.   /usr/adm/mesaages (albo do /usr/log/messages albo /var/log/messages -
  544.   przyp. t│um.) oraz do /usr/adm/syslog (patrz poprzednia uwaga). Je╢li
  545.   tylko spr≤bujesz co╢ wydrukowaµ u┐ywaj▒c filtru psf, to znajdziesz
  546.   podobne linie w wymienionych wy┐ej plikach:
  547.  
  548.  
  549.   Feb 12 17:47:52 Pingo ofpap[1443]: starting for ?
  550.   Feb 12 17:47:52 Pingo ofpap[1443]: sending to pap[1444]
  551.   Feb 12 17:47:52 Pingo ofpap[1443]: straight text
  552.   Feb 12 17:47:59 Pingo ofpap[1443]: 1444 done
  553.   Feb 12 17:47:59 Pingo ofpap[1443]: pausing
  554.   Feb 12 17:48:01 Pingo ifpap[1447]: starting for ?
  555.   Feb 12 17:48:01 Pingo ifpap[1447]: sending to pap[1448]
  556.   Feb 12 17:48:01 Pingo ifpap[1447]: straight text
  557.   Feb 12 17:48:09 Pingo ifpap[1447]: 1448 done
  558.   Feb 12 17:48:09 Pingo ofpap[1443]: restarting
  559.   Feb 12 17:48:09 Pingo ifpap[1447]: done
  560.   Feb 12 17:48:09 Pingo ofpap[1443]: done
  561.   Feb 12 18:00:46 Pingo ofpap[1481]: starting for ?
  562.   Feb 12 18:00:46 Pingo ofpap[1481]: sending to pap[1482]
  563.   Feb 12 18:00:46 Pingo ofpap[1481]: straight text
  564.   Feb 12 18:00:51 Pingo ofpap[1481]: 1482 done
  565.   Feb 12 18:00:51 Pingo ofpap[1481]: pausing
  566.   Feb 12 18:00:52 Pingo ifpap[1485]: starting for ?
  567.   Feb 12 18:00:52 Pingo ifpap[1485]: sending to pap[1486]
  568.   Feb 12 18:00:52 Pingo ifpap[1485]: straight text
  569.   Feb 12 18:00:57 Pingo ifpap[1485]: 1486 done
  570.   Feb 12 18:00:57 Pingo ofpap[1481]: restarting
  571.   Feb 12 18:00:57 Pingo ofpap[1481]: done
  572.   Feb 12 18:00:57 Pingo ifpap[1485]: done
  573.  
  574.  
  575.  
  576.   Je╢li co╢ nie dzia│a, otrzymasz komunikat w /usr/adm/syslog jak ten:
  577.  
  578.  
  579.   Feb 12 10:04:59 Pingo papd[70]: No such printer: "lp"
  580.   Feb 12 10:04:59 Pingo papd[70]: printcap problem: "lp"
  581.  
  582.  
  583.  
  584.   (twoja domy╢lna zmienna lp nie jest zdefiniowana)
  585.  
  586.  
  587.   Feb 12 17:02:21 Pingo ofpap[1149]: 1150 died with 1
  588.   Feb 12 17:02:21 Pingo lpd[1148]: lp: output filter died (1)
  589.   Feb 12 17:02:26 Pingo lpd[1148]: lp: Daemon filter 'f' terminated (11)
  590.   Feb 12 17:04:48 Pingo lpd[1195]: lp: Daemon filter 'f' terminated (11)
  591.   Feb 12 17:08:03 Pingo lpd[1216]: lp: Daemon filter 'f' terminated (11)
  592.   Feb 12 17:10:00 Pingo lpd[1228]: cannot execv /usr/local/bin/linebreak|/usr/local/atalk/ifpap
  593.   Feb 12 17:11:51 Pingo lpd[1244]: /usr/adm/lpd-errs: No such file or directory
  594.  
  595.   (/etc/printcap nie akceptuje strumieni w definicji if; oto dlaczego
  596.   u┐ywa│em skryptu /usr/local/bin/myif. Zapomnia│em tak┐e stworzyµ pliku
  597.   /usr/adm/lpd-errs, kt≤ry zdefiniowa│em w /etc/printcap)
  598.  
  599.  
  600.   4.2.  Nieznane problemy
  601.  
  602.  
  603.   Najpierw przeczytaj sekcjΩ o ``Znanych    problemach''. Je╢li nie
  604.   bΩdzie tam nic pomocnego dla ciebie, to wy╢lij do mnie list i do│▒cz
  605.   do niego pliki /etc/printcap oraz /usr/local/atalk/etc/papd.conf.
  606.  
  607.   nbplkup pokazuje nazwΩ drukarki i jej adres, ale ja nie dostajΩ ┐adnej
  608.   odpowiedzi z programu papstatus od tej drukarki.
  609.  
  610.  
  611.   4.3.  Znane problemy.
  612.  
  613.  
  614.   DostajΩ du┐o list≤w od ludzi, kt≤rzy maj▒ problemy, wiΩc umieszczΩ
  615.   tutaj rozwi▒zania dla wszystkich. BΩdzie to rosn▒ca, nieposortowana
  616.   lista. Po prostu sprawd╝ czy tw≤j problem jest tu opisany.
  617.  
  618.  
  619.   4.3.1.  nie ma wydruku zwyk│ego pliku tekstowego
  620.  
  621.  
  622.   Sprawd╝ czy nie masz w pliku /usr/adm/lpd-errs czego╢ takiego:
  623.  
  624.  
  625.   unprintable character (0x9a)!
  626.  
  627.  
  628.  
  629.   Jest to problem dotycz▒cy psf, filtru u┐ytego do drukowania.
  630.   Zlokalizuj plik psf.c w swojej dystrybucji netatalk i uczy± go
  631.   zapisywalnym
  632.  
  633.  
  634.   chmod 644 psf.c
  635.  
  636.  
  637.  
  638.   Zlokalizuj drug▒ liniΩ, w kt≤rej jest │a±cuch unprintable character.
  639.   Pierwsze wystapienie (z dw≤ch) powino byµ w linii 402 a drugie - w 496
  640.   lub podobnie. Druga linia to jest przypuszczalnie ta, kt≤ra ci sprawia
  641.   k│opoty. Zamie±
  642.  
  643.  
  644.     if ( !isascii( *p ) || !isprint( *p )) {
  645.         if ( !literal ) {
  646.             fprintf( stderr, "unprintable character (0x%x)!\n",
  647.                     (unsigned char)*p );
  648.             return( 2 );  /* Toss job */
  649.         }
  650.         printf( "\\%o", (unsigned)*p );
  651.  
  652.  
  653.  
  654.   na
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.     if ( !isascii( *p ) || !isprint( *p )) {
  662.         if ( !literal ) {
  663.             fprintf( stderr,
  664.                     "unprintable character (0x%x) converted to ?!\n",
  665.                     (unsigned char)*p );
  666.             /* return( 2 );*/     /* Toss job */
  667.             putchar( '?' );       /* Don't toss job!      */
  668.         }
  669.         else{
  670.           printf( "\\%o", (unsigned)*p );
  671.         }
  672.  
  673.  
  674.  
  675.   Teraz napisz "make" w wierszu polece± w katalogu netatalk (nie w tym,
  676.   w kt≤rym jest psf.c, bo make nie bΩdzie w tym przypadku zna│o ╢cie┐ki
  677.   do pap !). Potem skopiuj nowe psf do odpowiedniego katalogu
  678.   (/usr/local/atalk/etc).
  679.  
  680.   To co siΩ dzieje to: program zamienia niedrukowalny znak na znak "?" i
  681.   nie przerywa pracy. Mo┐e kto╢ ma lepszy pomys│ na to jak
  682.   przekonwertowaµ niedrukowalny znak na jego odpowiednik w PostScripcie
  683.   ?
  684.  
  685.   Ale je╢li to bΩdziesz robi│, to uwa┐aj na prawa autorskie w psf !
  686.  
  687.  
  688.   4.3.2.  nie ma umlaut≤w, ani znak≤w narodowych
  689.  
  690.  
  691.   Jak w│a╢nie wy┐ej wspomnia│em, psf nie obs│uguje rozszerzonych zbior≤w
  692.   znak≤w. Ale nenscript to potrafi. Ale poniewa┐ nie jest to filtr,
  693.   kt≤ry m≤g│by zostaµ u┐yty bezpo╢rednio w printcap-ie, bΩdziesz musia│
  694.   to obej╢µ. Ja mam zdefiniowan▒ dodatkow▒ drukarkΩ, kt≤ra obs│uguje
  695.   zwyk│y tekst u┐ywaj▒c nenscriptu.
  696.  
  697.   /etc/printcap wygl▒da tak:
  698.  
  699.  
  700.   #
  701.   # Apple LaserPrinter Select 360 on AppleTalk:
  702.   #
  703.   lp|Pingo LaserWriter|Theobald Chapin, III:\
  704.           :sd=/usr/spool/theobald:\
  705.           :lp=/dev/null:\
  706.           :pl#61:\
  707.           :pw#80:\
  708.           :mx#0:\
  709.           :sh:\
  710.           :sf:\
  711.           :lf=/var/adm/lpd-errs:\
  712.           :if=/usr/local/bin/myif:\
  713.           :of=/usr/local/atalk/etc/ofpap:
  714.   #
  715.   # Special setup for plain text files, to convert to PostScript using nenscript
  716.   # instead of psf (which doesn't process the whole ISO characterset)
  717.   #
  718.   text:\
  719.           :sd=/usr/spool/textprinter:\
  720.           :lp=/dev/null:\
  721.           :mx#0:\
  722.           :sh:\
  723.           :sf:\
  724.           :lf=/var/adm/lpd-errs:\
  725.           :of=/usr/local/bin/textfilter:
  726.  
  727.   /usr/local/bin/textfilter jest skryptem w pow│oce:
  728.  
  729.  
  730.   #!/bin/sh
  731.   /usr/bin/nenscript -P lp -2 -r -T US -i "Werner Eugster"
  732.  
  733.  
  734.  
  735.   Niestety nie znalaz│em sposobu na zachowanie nazwy pliku do drukowania
  736.   i dlatego u┐ywam opcji -i z moim nazwiskiem, ┐eby oznaczyµ wydruk.
  737.   Mo┐e znajdziesz jaki╢ lepszy spos≤b u┐ywaj▒c np. Unix-owej zmiennej
  738.   ╢rodowiskowej z loginem.
  739.  
  740.   W tym ustawieniu otrzymujΩ tekst na papierze w uk│adzie poziomym
  741.   (opcja -r) w dw≤ch kolumnach (-2) wys│any na standardow▒ drukarkΩ lp.
  742.   Aby wydrukowaµ zwyk│y plik tekstowy u┐ywam polecenia
  743.  
  744.  
  745.   lpr -P text plain.txt
  746.  
  747.  
  748.  
  749.   Tak wiΩc przede wszystkim, drukarka zdefiniowana jako text zamienia
  750.   zwyk│y tekstowy plik na PostScript u┐ywaj▒c nenscript (kt≤ry obs│uguje
  751.   pe│en zestaw znak≤w ISO), ktory przekazuje go dalej do drukarki
  752.   zdefiniowanej jako lp. Przez to, u┐ywaj▒c polecenia lpq zobaczysz, ┐e
  753.   zadanie drukowania pojawi siΩ przy drukarce lp i przychodz▒cego ze
  754.   standardowego wej╢cia, co jest poprawne.
  755.  
  756.   Je╢li kto╢ zna jaki╢ spos≤b, ┐eby umie╢ciµ na wydruku nazwΩ pliku, to
  757.   bΩdΩ bardzo wdziΩczny za tΩ informacjΩ !
  758.  
  759.  
  760.   4.3.3.  moje ustawienia d│ugo╢ci i szeroko╢ci strony sa ignorowane
  761.  
  762.  
  763.   To by│ m≤j b│▒d. Sprawd╝ czΩ╢µ powy┐ej, gdzie opisujΩ myif. Musisz
  764.   dodaµ $* dwa razy w drugiej linii w pliku, kt≤ra teraz wygl▒da tak:
  765.  
  766.  
  767.   #!/bin/sh
  768.   /usr/local/bin/linebreak $* | /usr/local/atalk/etc/ifpap $*
  769.  
  770.  
  771.  
  772.  
  773.   4.3.4.  zadanie jest wys│ane do drukarki, ale nie zostaje wydrukowane
  774.  
  775.  
  776.   Jest wiele takich problem≤w. Jeden, o kt≤rym dowiedzia│em siΩ od Paolo
  777.   Supino to ten:
  778.  
  779.   "Podczas kr≤tkiej inspekcji wydruku z nbplkup (┐eby zobaczyµ czy s▒
  780.   tak jakie╢ dziwne rzeczy), zobaczy│em, ┐e nasza drukarka na sieci ma
  781.   ten sam numer co serwer NT (kt≤ry kolejkuje zadania z PC-t≤w). To by│o
  782.   ╝le.
  783.   1. Serwer NT jest bardzo z│ym spoolerem.
  784.   2. Powinien on kolejkowaµ tylko maszyny Windows-owe.
  785.   3. Pomimo tego, i┐ nie mia│ on przechwytywaµ wszystkiego co przez
  786.   niego przesz│o - on to robi│.
  787.  
  788.   Rozwi▒zanie: Wy│▒czyµ zupe│nie serwer drukowania dla Mac-≤w na NT.
  789.   Wyedytowaµ plik .paprc w katalogu zada± tak, ┐eby wskazywa│ on
  790.   bezpo╢rednio na drukarkΩ. Zrestartowaµ komputer, ┐eby mu siΩ pamiΩc
  791.   od╢wie┐y│a.
  792.  
  793.   4.3.5.  moja drukarka nie bierze papieru z tego zasobnika, z kt≤rego
  794.   ja chcΩ
  795.  
  796.  
  797.   Domy╢lnie wszystko jest drukowane na papierze ze standardowego
  798.   zasobnika. Je╢li chcesz tak ustawiµ drukarkΩ, aby bra│a papier z
  799.   innego zasobnika ni┐ ze standardowego, to spr≤buj tego:
  800.  
  801.   Zmodyfikuj sw≤j plik /usr/local/bin/myif i przepu╢µ wszystko przez
  802.   program awk, czy jaki╢ inny, kt≤ry potrafi zapisaµ dodatkow▒ liniΩ do
  803.   strumienia po nag│≤wku.
  804.   Np. Ja spr≤bowa│em tak:
  805.  
  806.  
  807.   #!/bin/sh
  808.   /usr/local/bin/linebreak $* | awk '{if(NR==1&&$1~"%!"){print;print
  809.   "statusdict begin /manualfeed true store end\n";}else{print}}' | /usr/local/atalk/etc/ifpap $*
  810.  
  811.  
  812.  
  813.   (upewnij siΩ, ┐e nie ma fizycznych │ama± linii w linii drugiej).
  814.   papier z podajnika rΩcznego. Dla innych podajnik≤w zamie± tekst w
  815.   cuszys│owach ("statusdict begin /manualfeed true store end\n") na
  816.   odpowiednie polecenie z tej listy:
  817.  
  818.  
  819.   Podajnik          |             Polecenie PostScriptu
  820.   ------------------+---------------------------------------------------
  821.   przedni           | "statusdict begin 0 setpapertray end"
  822.                     |
  823.   tylny             | "statusdict begin 1 setpapertray end"
  824.                     |
  825.   automatyczny      | "statusdict begin /manualfeed true store end"
  826.  
  827.  
  828.  
  829.   Polecenia PostScriptu do zdefiniowania wyj╢ciowych "szufladek":
  830.  
  831.  
  832.   Szufladka         |              Polecenie PostScriptu
  833.   ------------------+---------------------------------------------------
  834.   g≤rna             | "0 statusdict /setoutputtray get exec"
  835.                     |
  836.   dolna             | "1 statusdict /setoutputtray get exec"
  837.  
  838.  
  839.  
  840.   Oczywi╢cie je╢li chcesz zdefiniowaµ podajnik wej╢ciowy i szufladkΩ
  841.   wyj╢ciow▒, to musisz wstawiµ dwie linie do pliku PostScriptowego.
  842.  
  843.   Chocia┐ to dzia│a dla wej╢cia, kt≤re ju┐ jest PostScriptem. Je╢li
  844.   chcesz to osi▒gn▒µ dla tekstu, kt≤ry jest dopiero zamieniany na
  845.   PostScript, to musisz zmodyfikowaµ plik psf.c i skompilowaµ nowy filtr
  846.   psf. (nie zapomnij zainstalowaµ go w katalogu /usr/local/atalk/etc !).
  847.   Wszystko co musisz zrobiµ, to znale╝µ liniΩ %%!PS-Adobe-2.0 (ok. linii
  848.   379, musi to byµ funkcja textps(). Dodaj now▒ liniΩ:
  849.  
  850.  
  851.   printf( "statusdict begin /manualfeed true store end\n" );
  852.  
  853.  
  854.  
  855.   (i znowu - mo┐esz zamieniµ tekst w cudzys│owach na ten, kt≤ry ci
  856.   odpowiada). Potem skompiluj ponownie psf i zainstaluj go.
  857.  
  858.  
  859.   Davis Goodman sko±czy│ na takim skrypcie myif, kt≤ry sprawdza czy
  860.   chcesz drukowaµ w rozmiarach listowych czy normalnych. Je╢li jest to
  861.   normalny, to wykonywane jest polecenie PostScriptu powoduj▒ce wyb≤r
  862.   tylnego podajnika, w innym przypadku papier pobierany jest z podajnika
  863.   standardowego.
  864.  
  865.  
  866.   #!/bin/sh
  867.   bounding=`grep BoundingBox $8 | cut -d" " -f5 `
  868.   if [ "$bounding" = "" ]; then
  869.     /usr/bin/awk '{if(NR==1&&$1~"%!"){print;print "statusdict begin 1 setpapertray end\n";}else{print}}' | /usr/local/atalk/etc/ifpap $*
  870.   else
  871.     /usr/local/atalk/etc/ifpap $*
  872.   fi
  873.  
  874.  
  875.  
  876.   To dzia│a z Netscape a twoje w│asne oprogramowanie mo┐e przyjmowaµ
  877.   inne warto╢ci. Za│▒czy│em ten przyk│ad tylko po to, ┐eby ci wskazaµ,
  878.   gdzie nale┐y zacz▒µ je╢li chcesz robiµ podobne sztuczki.
  879.  
  880.   Jeszcze jeden przyk│ad jest od Tomasa Pospiska, kt≤ry zdefiniowa│
  881.   nazwy drukarek dla r≤┐nych podajnik≤w w tej samej drukarce w
  882.   /etc/printcap. »eby wydrukowaµ na papierze z konkretnego podajnika
  883.   wysy│asz zadanie na odpowiedni▒ drukarkΩ. Jego printcap wygl▒da tak:
  884.  
  885.  
  886.   # LaserWriter Pro 630 (Default Tray)
  887.   lp:\
  888.           :sd=/usr/spool/lp1:\
  889.           :lp=/dev/null:\
  890.           :pl#63:pw#85:\
  891.           :mx#0:\
  892.           :sh:sf:\
  893.           :lf=/var/log/lp-errs:\
  894.           :if=/usr/lib/atalk/filters/myif:\
  895.           :of=/usr/lib/atalk/filters/ofpap:
  896.   #
  897.   # LaserWriter Pro 630 (Manual Tray)
  898.   lpm:\
  899.           :sd=/usr/spool/lpm:\
  900.           :lp=/dev/null:\
  901.           :pl#63:pw#85:\
  902.           :mx#0:\
  903.           :sh:sf:\
  904.           :lf=/var/log/lp-errs:\
  905.           :if=/usr/lib/atalk/filters/myif_manual:\
  906.           :of=/usr/lib/atalk/filters/ofpap:
  907.  
  908.  
  909.  
  910.   a filtr myif wygl▒da tak:
  911.  
  912.  
  913.   #!/bin/sh
  914.   /usr/bin/awk '{if(NR==1&&$1~"%!"){print;print "statusdict begin
  915.   /manualfeed true store end\n";}else{print}}' |
  916.   /usr/lib/atalk/filters/ifpap $*
  917.  
  918.  
  919.  
  920.   Jak dot▒d dosta│em konstruktywne komentarze i pytania od ludzi z
  921.  
  922.  
  923.  
  924.  
  925.   COM domena              11
  926.   EDU (USA)               12
  927.   US domena (USA)         1
  928.   GOV domena USA          2
  929.   NET domena              1
  930.  
  931.   Australia               1
  932.   Austria                 2
  933.   Belgia                  1
  934.   Francja                 2
  935.   Niemcy                  5
  936.   Islandia                1
  937.   W│ochy                  3
  938.   Japonia                 1
  939.   Holandia                1
  940.   Portugalia              2
  941.   Wileka Brytania         1
  942.   Szwajcaria              1
  943.  
  944.  
  945.  
  946.   (C) 13 Marca 1997 Werner Eugster (eugster@giub.unibe.ch)
  947.  
  948.  
  949.   5.  Od t│umacza.
  950.  
  951.  
  952.   T│umaczenie to jest chronione prawami autorskimi (C) Bartosza
  953.   Maruszewskiego.  Dozwolone jest rozprowadzanie i dystrybucja na
  954.   prawach takich samych jak dokument oryginalny.
  955.  
  956.   Je╢li znalaz│e╢ jakie╢ ra┐▒ce b│Ωdy ortograficzne, gramatyczne,
  957.   sk│adniowe, techniczne to pisz do mnie:
  958.  
  959.   B.Maruszewski@zsmeie.torun.pl
  960.  
  961.   Oficjaln▒ stron▒ t│umacze± HOWTO jest http://www.jtz.org.pl/
  962.  
  963.   Aktualne wersje przet│umaczonych dokument≤w znajduj▒ siΩ na tej┐e
  964.   stronie. DostΩpne s▒ tak┐e poprzez anonimowe ftp pod adresem
  965.   ftp.ippt.gov.pl w katalogu /pub/Linux/JTZ/.
  966.  
  967.   Przet│umaczone przeze mnie dokumenty znajduj▒ siΩ tak┐e na mojej
  968.   stronie WWW. <http://www.zsmeie.torun.pl/~bart/tlumaczenie.html> S▒
  969.   tam te┐ odwo│ania do Polskiej Strony T│umaczeniowej.
  970.  
  971.   Kontakt z nasz▒ grup▒, grup▒ t│umaczy mo┐esz uzyskaµ poprzez listΩ
  972.   dyskusyjn▒ jtz@ippt.gov.pl. Je╢li chcesz sie na ni▒ zapisaµ, to wy╢lij
  973.   list o tre╢ci subscribe jtz ImiΩ Nazwisko na adres
  974.   listproc@ippt.gov.pl
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.